package pe.gob.osce.sirenas.svc;

import java.util.List;

import javax.ejb.Local;

import pe.gob.osce.sirenas.model.AuditoriaDTO;
import pe.gob.osce.sirenas.model.ComunicacionesDTO;
import pe.gob.osce.sirenas.model.FichaArbitralDTO;
import pe.gob.osce.sirenas.model.RegionDTO;
import pe.gob.osce.sirenas.model.DistritoDTO;
import pe.gob.osce.sirenas.model.DomicilioDTO;
import pe.gob.osce.sirenas.model.HojaVidaDTO;
import pe.gob.osce.sirenas.model.PersonaDTO;
import pe.gob.osce.sirenas.model.ProvinciaDTO;

@Local
public interface RegistrarDatosPersonalesServiceLocal {

	public PersonaDTO 			guardarPersona(PersonaDTO personaDTO,AuditoriaDTO auditoriaDTO)throws Exception;
	public PersonaDTO 			actualizarPersona(PersonaDTO personaDTO,AuditoriaDTO auditoriaDTO)throws Exception;
	public PersonaDTO           obtenerPersona(PersonaDTO personaDTO) throws Exception ;
	public DomicilioDTO 		guardarDomicilio(DomicilioDTO DomiclioDTO,AuditoriaDTO auditoriaDTO)throws Exception;
	public DomicilioDTO 	    actualizarDomicilio(DomicilioDTO domicilioDTO,AuditoriaDTO auditoriaDTO)throws Exception;
	public DomicilioDTO         obtenerDomicilio(DomicilioDTO domicilioDTO) throws Exception ;
	public ComunicacionesDTO    guardarComunicaciones(ComunicacionesDTO comunicacionesDTO,AuditoriaDTO auditoriaDTO)throws Exception;
	public HojaVidaDTO 		    guardarHojaVida(HojaVidaDTO HojaVidaDTO,AuditoriaDTO auditoriaDTO)throws Exception;

	public List<RegionDTO>   	listarRegion()throws Exception;
	public List<ProvinciaDTO>     listarProvincia()throws Exception;
	public List<DistritoDTO>      listarDistrito()throws Exception;
	
	public ComunicacionesDTO     consultarComunicacion(Long idPersona, Long indTipoComunicacion)throws Exception;
	public ComunicacionesDTO     obtenerComunicacionId(Long idComunicacion)throws Exception;
	public List<PersonaDTO>    consultarRectificacionesPersona(Long idPersona)throws Exception;
	public List<ComunicacionesDTO>    consultarRectificacionesComunicacion(Long idPersona)throws Exception;
	public List<DomicilioDTO>    consultarRectificacionesDomicilio(Long idPersona)throws Exception;
	
	public List<HojaVidaDTO> obtenerListaHojaVida(PersonaDTO personaDTO) throws Exception;

	public void registrarNuevaHojaVida(HojaVidaDTO hojaVidaDTO,AuditoriaDTO auditoriaDTO) throws Exception ;
	}